package com.haiya.identityaccess.domain.identity.repository;

import com.haiya.identityaccess.domain.identity.model.Group;
import com.haiya.identityaccess.domain.identity.model.TenantId;

import java.util.Collection;

/**
 * @author qiaoguoqiang
 */
public interface GroupRepository {
    /**
     * 添加用户组
     * @param aGroup
     */
    public void add(Group aGroup);

    /**
     * 获取租户所有用户组
     * @param aTenantId
     * @return
     */
    public Collection<Group> allGroups(TenantId aTenantId);

    /**
     * 获取租户给定名字的用户组
     * @param aTenantId
     * @param aName
     * @return
     */
    public Group groupNamed(TenantId aTenantId, String aName);

    /**
     * 删除用户组
     * @param aGroup
     */
    public void remove(Group aGroup);
}
